package com.speedchina.permission.domain.sys.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.speedchina.framework.base.TEntity;
import com.speedchina.framework.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NonNull;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户行为日志 实体类
 * @author Winter
 * @date 2021-04-15 11:38:16
 */
@Data
@TableName("t_sys_log_operation")
@AllArgsConstructor
public class LogOperation extends TEntity<LogOperation> {
    /**
     * 日志id
     */

    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "日志id")
    private String id;
    /**
     * 用户id
     */
    
    @ApiModelProperty(value = "用户id")
    private String userName;
    /**
     * 操作内容
     */
    
    @ApiModelProperty(value = "操作内容")
    private String operation;
    /**
     * 耗时
     */
    
    @ApiModelProperty(value = "执行初始时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 操作方法
     */
    
    @ApiModelProperty(value = "操作方法")
    private String method;
    /**
     * 方法参数
     */

    @ApiModelProperty(value = "方法参数")
    private String params;
    /**
     * 操作者ip
     */
    
    @ApiModelProperty(value = "操作者ip")
    private String ip;
    /**
     * 操作者地点
     */
    
    @ApiModelProperty(value = "操作者地点")
    private String location;
    /**
     * 创建时间
     */
    
    @ApiModelProperty(value = "执行结束时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    /**
     * 用户编码
     */
    
    @ApiModelProperty(value = "用户编码")
    private String userId;
    /**
     * 登陆系统
     */
    
    @ApiModelProperty(value = "登陆系统")
    private String loginSystem;
    /**
     * 浏览器名
     */
    
    @ApiModelProperty(value = "浏览器名")
    private String userBrowser;

    /**
     * 操作异常
     */
    @ApiModelProperty(value = "操作异常")
    private String exception;

    /**
     * 请求地址url
     */
    @ApiModelProperty(value = "请求地址url")
    private String url;
	 public LogOperation(){
	 }

}
